Devil: an Idl for Hardware Programming Fabrice Mérillon, Laurent Réveillère, Charles Consel, Renaud Marlet, Gilles Muller

نویسنده

  • GILLES MULLER
چکیده

To keep up with the frantic pace at which devices come out, drivers need to be quickly developed, debugged and tested. Although a driver is a critical system component, the driver development process has made little (if any) progress. The situation is particularly disastrous when considering the hardware operating code (i.e., the layer interacting with the device). Writing this code often relies on an inaccurate or incomplete device documentation and involves assembly-level operations. As a result, hardware operating code is tedious to write, prone to errors, and hard to debug and maintain. This paper presents a new approach to developing hardware operating code based on an Interface Deenition Language (IDL) for hardware functionalities, named Devil. This IDL allows a high-level deenition of the communication with a device. A compiler automatically checks the consistency of a Devil deenition and generates eecient low-level code. Our contributions are as follows. We introduce an expressive language to specify hardware operating layers. This expres-siveness is demonstrated by the wide variety of devices that we have already speciied The long-awaited notion of robustness for hardware operating code is made possible by the Devil compiler which checks safety critical properties. An experimental study comparing hardware operating code in C to that generated from Devil demonstrates that writing a Devil speciication is up to 5.9 times less prone to errors than writing C code, with minor (if any) loss in performance. Devil: un langage de d eclaration d'interfaces pour la programmation des circuits p eriph eriques R esum e : Pour suivre la cadence eeren ee a laquelle de nouveaux p eriph eriques sortent sur le march e, les pilotes correspondants doivent souvent ^ etre d evelopp es, d ebogu es et test es dans un temps tr es court. Bien que les pilotes de p eriph eriques soient des composants critiques des syst emes d'exploitation, leur processus de d eveloppement n'a pas vraiment progress e. Pour la couche basse des pilotes (c-ad , celle qui interagit directement avec le mat eriel), la situation est particuli erement d esastreuse. En eeet, le d eveloppement de cette couche n ecessite l'analyse d'une documentation trop souvent impr ecise ou incompl ete et son ecriture rel eve d'instructions de niveau assembleur. En cons equence, la couche basse des pilotes est sujette aux erreurs, diicile a ecrire, a d eboguer et a maintenir. Cet article pr esente une nouvelle approche du d …

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Towards Verifiable Device Drivers: an Approach Based on Domain-specific Languages Fabrice Mérillon Laurent Réveillère Charles Consel Robin Hansen Renaud Marlet

Although peripheral devices come out at a frantic pace and require fast releases of drivers, little progress has been made to improve the development of drivers. Too often, this development consists of decoding hardware intricacies, based on ambiguous or incomplete documentation , to determine how to operate a device. Then, assembly-level operations need to be used to interact with the device. ...

متن کامل

A DSL Approach to Improve Productivity and Safety in Device Drivers Development

Although peripheral devices come out at a frantic pace and require fast releases of drivers, little progress has been made to improve the development of drivers. Too often, this development consists of decoding hardware intricacies, based on inaccurate documentation. Then, assembly-level operations need to be used to interact with the device. These low-level operations reduce the readability of...

متن کامل

Towards Verifiable Device Drivers: An Approach based on Domain-Specific Languages

Although peripheral devices come out at a frantic pace and require fast releases of drivers, little progress has been made to improve the development of drivers. Too often, this development consists of decoding hardware intricacies, based on ambiguous or incomplete documentation , to determine how to operate a device. Then, assembly-level operations need to be used to interact with the device. ...

متن کامل

Improving Driver Robustness: an Evaluation of the Devil Approach Laurent Réveillère and Gilles Muller

To keep up with the frantic pace at which devices come out, drivers need to be quickly developed, debugged and tested. We have recently introduced a new approach to improve driver robustness based on an Interface Definition Language, named Devil. Devil allows a high-level definition of the communication of a device. A compiler automatically checks the consistency of a Devil specification and ge...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2000